하이브리드 앱
1. 개요
1. 개요
하이브리드 앱은 웹 기술(HTML, CSS, 자바스크립트)과 네이티브 앱 기술을 혼합하여 개발된 애플리케이션이다. 하나의 코드베이스로 iOS와 안드로이드 앱을 동시에 개발할 수 있어 개발 효율성이 높으며, 기존 웹 개발 기술과 인력을 활용할 수 있다는 장점이 있다.
이러한 앱은 웹뷰라는 네이티브 컴포넌트를 통해 웹 콘텐츠를 표시하며, 네이티브 브릿지를 통해 카메라, GPS, 가속도계 같은 기기의 고유 기능에 접근한다. 따라서 웹 앱과 달리 앱 스토어나 구글 플레이를 통한 배포가 가능하다.
주요 개발 프레임워크로는 아이오닉, 리액트 네이티브, 플러터, 코르도바 및 폰갭 등이 널리 사용된다. 각 프레임워크는 웹 기술을 활용하는 방식이나 성능 특성에서 차이를 보인다.
하이브리드 앱은 네이티브 앱에 비해 성능이 상대적으로 낮을 수 있으며, 새로운 기기 기능을 지원하는 데 시간이 걸리고, 웹뷰의 성능에 크게 의존한다는 단점도 있다.
2. 개념 및 정의
2. 개념 및 정의
하이브리드 앱은 웹 앱과 네이티브 앱의 중간 형태로, 하나의 코드베이스로 iOS와 안드로이드 등 여러 모바일 운영체제용 애플리케이션을 개발할 수 있는 접근 방식이다. 핵심은 웹 기술인 HTML, CSS, 자바스크립트를 사용하여 애플리케이션의 사용자 인터페이스와 로직을 작성하고, 이를 웹뷰라는 네이티브 컨테이너 안에서 실행하는 것이다.
정의상 하이브리드 앱은 웹 콘텐츠를 표시하는 것에 그치지 않는다. 네이티브 브릿지 또는 플러그인을 통해 스마트폰의 카메라, GPS, 가속도 센서, 연락처와 같은 기기 고유의 하드웨어 기능과 시스템 API에 접근할 수 있어, 순수 웹 앱이 할 수 없는 네이티브 수준의 경험을 제공할 수 있다. 또한 완성된 애플리케이션은 앱 스토어나 구글 플레이를 통해 패키지되어 배포 및 설치가 가능하다.
이러한 개발 방식을 구현하기 위해 아이오닉, 리액트 네이티브, 플러터, 코르도바 및 폰갭과 같은 주요 개발 프레임워크가 널리 사용된다. 각 프레임워크는 웹 기술을 활용하는 방식과 네이티브 코드와의 통합 수준에서 차이를 보인다.
따라서 하이브리드 앱은 웹의 빠른 개발과 크로스 플랫폼 호환성이라는 장점과, 네이티브 앱의 기기 접근성과 앱 마켓 배포 가능성이라는 장점을 결합한 혼합형 애플리케이션 모델로 정의된다.
3. 구조와 작동 원리
3. 구조와 작동 원리
3.1. 웹뷰(WebView)
3.1. 웹뷰(WebView)
웹뷰(WebView)는 하이브리드 앱의 핵심 구성 요소로, 애플리케이션 내부에 내장된 미니 브라우저라고 할 수 있다. 이는 iOS의 WKWebView나 안드로이드의 WebView 클래스와 같은 네이티브 앱 컴포넌트로 구현되며, HTML, CSS, 자바스크립트로 작성된 웹 콘텐츠를 앱 화면에 렌더링하는 역할을 한다. 즉, 개발자가 작성한 웹 기반 코드는 이 웹뷰 컨테이너 안에서 실행되어 사용자에게 모바일 앱과 유사한 경험을 제공한다.
하이브리드 앱의 구조는 기본적으로 웹뷰가 전체 화면을 차지하는 형태를 띤다. 아파치 코르도바(Apache Cordova)나 아이오닉(Ionic)과 같은 전통적인 하이브리드 앱 프레임워크는 주로 이 방식을 사용한다. 앱의 모든 사용자 인터페이스(UI)와 비즈니스 로직이 웹 기술로 구현되며, 웹뷰는 이를 표시하고 실행하는 플랫폼이 된다. 이로 인해 앱의 전반적인 성능과 사용자 경험은 해당 모바일 운영체제의 웹뷰 엔진 성능에 크게 의존하게 된다.
웹뷰의 중요한 특징은 로컬 파일 시스템에 저장된 웹 자원(오프라인 HTML 파일 등)을 로드할 수 있다는 점이다. 이를 통해 인터넷 연결이 없는 환경에서도 앱을 실행하는 것이 가능해진다. 또한, 네이티브 브릿지를 통해 자바스크립트 코드가 카메라, GPS, 연락처와 같은 기기의 네이티브 기능을 호출할 수 있는 통로를 제공함으로써, 순수 웹 앱이 할 수 없는 작업을 수행할 수 있게 한다.
3.2. 네이티브 브릿지(Native Bridge)
3.2. 네이티브 브릿지(Native Bridge)
네이티브 브릿지는 하이브리드 앱의 핵심 구성 요소로, 웹뷰 내에서 실행되는 자바스크립트 코드와 기기의 네이티브 앱 플랫폼(예: iOS의 Swift/Objective-C, 안드로이드의 자바/코틀린) 사이의 통신을 가능하게 하는 인터페이스 또는 계층이다. 이 브릿지는 웹 기술로 작성된 앱의 프론트엔드가 카메라, GPS, 가속도계, 연락처, 파일 시스템 등과 같은 기기의 네이티브 기능과 하드웨어에 접근할 수 있도록 연결 다리 역할을 한다.
브릿지의 작동 원리는 일반적으로 자바스크립트 인터페이스를 통해 이루어진다. 웹뷰 내의 자바스크립트 코드는 브릿지를 호출하여 특정 네이티브 기능을 요청하면, 브릿지는 이 호출을 가로채어 미리 정의된 네이티브 코드 모듈(플러그인)을 실행한다. 그 후 네이티브 코드가 작업(예: 사진 촬영, 위치 정보 획득)을 수행하고 결과 데이터를 다시 자바스크립트 코드로 반환한다. 이 과정은 비동기적으로 이루어지는 경우가 많다.
주요 하이브리드 앱 프레임워크들은 각각 고유한 방식으로 네이티브 브릿지를 구현한다. 예를 들어, 코르도바는 자체적인 자바스크립트-네이티브 통신 계층을 제공하며, 플러터는 다트 언어로 작성된 코드를 각 플랫폼의 네이티브 코드로 컴파일하는 방식을 사용한다. 리액트 네이티브는 자체적인 브릿지 아키텍처를 통해 자바스크립트 코어와 네이티브 모듈 간의 비동기 통신을 관리한다.
이러한 브릿지 구조는 개발 편의성을 극대화하지만, 모든 통신이 비동기적으로 JSON 형식으로 직렬화되어 이루어지기 때문에, 네이티브 코드와의 빈번한 데이터 교환이나 복잡한 UI 애니메이션이 필요한 경우 성능 병목 현상이 발생할 수 있는 단점도 내포하고 있다. 따라서 하이브리드 앱 개발 시 네이티브 기능 호출의 빈도와 방식을 최적화하는 것이 중요하다.
4. 주요 개발 프레임워크
4. 주요 개발 프레임워크
4.1. React Native
4.1. React Native
리액트 네이티브는 페이스북(현 메타)이 개발한 오픈소스 하이브리드 앱 개발 프레임워크이다. 자바스크립트와 리액트 라이브러리를 기반으로 하여, 하나의 코드베이스로 iOS와 안드로이드 두 모바일 운영체제용 애플리케이션을 동시에 개발할 수 있게 해준다. 웹뷰를 사용하는 전통적인 하이브리드 앱 접근법과 달리, 리액트 네이티브는 자바스크립트 스레드에서 실행되는 자바스크립트 코드가 네이티브 브릿지를 통해 네이티브 모듈과 비동기적으로 통신하며, 최종적으로는 실제 네이티브 UI 컴포넌트를 렌더링하는 방식을 취한다.
이러한 구조는 웹 앱과 달리 앱 스토어나 구글 플레이에 배포가 가능한 독립 실행형 애플리케이션을 생성하면서도, 웹 개발에 익숙한 개발자들이 네이티브 앱 개발에 진입하는 장벽을 낮춘다. 개발자는 HTML이나 CSS 대신 자바스크립트와 리액트의 JSX 문법, 그리고 플랫폼별 스타일링을 사용하여 UI를 구성하게 된다.
리액트 네이티브의 핵심 장점은 높은 성능과 네이티브에 가까운 사용자 경험을 제공한다는 점이다. 플러터와 함께 현대적인 크로스 플랫폼 개발 도구의 대표주자로 꼽히며, 인스타그램, 페이스북, 에어비앤비 등 많은 글로벌 서비스에 적용되었다. 또한, 네이티브 모듈을 직접 작성하여 연결할 수 있어 카메라, GPS, 블루투스 등 기기의 고유 기능에도 접근이 가능하다.
하지만, iOS와 안드로이드의 플랫폼별 차이를 완전히 추상화하지는 못하기 때문에, 특정 기능을 구현할 때는 플랫폼별 코드를 분기해야 하는 경우가 발생할 수 있다. 또한, 애플이나 구글이 새로운 운영체제 버전이나 기기 기능을 출시했을 때, 리액트 네이티브 커뮤니티나 서드파티 라이브러리가 이를 지원하는 데 약간의 지연이 생길 수 있다는 점은 여전히 과제로 남아있다.
4.2. Flutter
4.2. Flutter
Flutter는 구글이 개발한 오픈소스 UI 소프트웨어 개발 키트(SDK)이다. 하이브리드 앱 개발 프레임워크로 분류되기도 하지만, 엄밀히 말하면 웹 기술을 사용하지 않는 점에서 전통적인 하이브리드 앱과 차이가 있다. Flutter는 다트(Dart) 프로그래밍 언어로 작성되며, 자체적인 렌더링 엔진을 사용하여 iOS와 안드로이드에서 네이티브와 유사한 성능과 사용자 경험을 제공하는 것을 목표로 한다.
Flutter의 핵심 특징은 위젯 기반의 선언적 UI와 핫 리로드(Hot Reload) 기능이다. 개발자는 위젯을 조합하여 UI를 구성하며, 코드 변경 사항을 실시간으로 시뮬레이터나 실제 기기에서 확인할 수 있어 개발 생산성을 크게 향상시킨다. 또한 스카이아 엔진(Skia)이라는 그래픽 라이브러리를 통해 각 플랫폼에서 직접 캔버스에 그리는 방식으로 동작하므로, 웹뷰에 의존하는 다른 프레임워크와 달리 높은 성능과 일관된 디자인을 구현할 수 있다.
주요 적용 사례로는 구글 페이(Google Pay), 알리바바(Alibaba)의 일부 애플리케이션, 그리고 수많은 스타트업의 앱들이 있다. 하나의 코드베이스로 iOS, 안드로이드, 웹(Web), 그리고 데스크톱(Windows, macOS, Linux) 애플리케이션까지 개발할 수 있는 크로스 플랫폼 지원 범위가 넓은 것이 큰 장점이다.
4.3. Ionic
4.3. Ionic
아이오닉은 하이브리드 앱 개발을 위한 인기 있는 오픈 소스 프론트엔드 프레임워크이다. HTML, CSS, 자바스크립트와 같은 웹 표준 기술을 기반으로 하여, 하나의 코드베이스로 iOS와 안드로이드 앱을 모두 구축할 수 있도록 설계되었다. 아이오닉의 핵심은 웹뷰 내에서 실행되는 웹 애플리케이션을 네이티브 앱 컨테이너에 패키징하는 방식이다.
아이오닉은 앵귤러, 리액트, 뷰와 같은 인기 있는 웹 프레임워크와의 통합을 공식적으로 지원하며, 특히 앵귤러와의 조합이 초기부터 널리 사용되었다. 개발자는 익숙한 웹 기술을 사용하여 사용자 인터페이스를 구성하고, 아파치 코르도바나 캐패시터와 같은 네이티브 런타임을 통해 카메라, GPS, 파일 시스템과 같은 기기 기능에 접근한다.
이 프레임워크는 풍부한 사전 제작된 UI 컴포넌트 라이브러리를 제공하여, 네이티브 앱과 유사한 룩앤필을 빠르게 구현할 수 있게 한다. 또한 PWA로의 빌드도 지원하여, 앱 스토어 배포뿐만 아니라 웹 브라우저를 통한 배포도 가능하다는 점이 특징이다. 아이오닉은 웹 개발 기술을 가진 팀이 모바일 앱 개발 영역으로 진출하는 데 유용한 도구로 평가받는다.
4.4. Apache Cordova / PhoneGap
4.4. Apache Cordova / PhoneGap
Apache Cordova는 HTML, CSS, 자바스크립트와 같은 웹 기술을 사용하여 모바일 애플리케이션을 개발할 수 있게 해주는 오픈 소스 프레임워크이다. 이 프레임워크의 핵심은 애플리케이션을 웹뷰라는 컨테이너 안에서 실행하여, 하나의 코드베이스로 iOS와 안드로이드를 포함한 여러 플랫폼에 앱을 배포할 수 있게 한다는 점이다. PhoneGap은 Cordova의 초기 버전을 기반으로 한 Adobe의 상용 제품이었으나, 이후 Cordova의 핵심 엔진이 오픈 소스로 공개되면서 PhoneGap은 Cordova의 배포판 중 하나이자 개발 도구 모음의 이름으로 남게 되었다. 따라서 현재는 두 이름이 혼용되어 사용되지만, 기술적 기반은 동일한 Cordova 프레임워크라고 볼 수 있다.
Cordova의 구조는 웹 기반의 사용자 인터페이스와 네이티브 기기 기능을 연결하는 네이티브 브릿지에 의존한다. 개발자는 자바스크립트로 작성된 애플리케이션 로직과 UI를 웹뷰에서 렌더링하고, 카메라, GPS, 가속도계, 연락처 등 기기의 네이티브 기능을 사용해야 할 때는 Cordova가 제공하는 플러그인 API를 호출한다. 이 API 호출은 자바스크립트-네이티브 브릿지를 통해 해당 운영체제(안드로이드 SDK, iOS SDK)의 네이티브 코드로 전달되어 실행된다. 이러한 방식으로 웹 기술만으로도 네이티브 앱과 유사한 경험을 제공하는 하이브리드 앱을 만들 수 있다.
Cordova는 가장 역사가 깊은 하이브리드 앱 프레임워크 중 하나로, 광범위한 커뮤니티와 수많은 서드파티 플러그인 생태계를 가지고 있다는 장점이 있다. 이를 통해 다양한 하드웨어 기능과 서비스를 비교적 쉽게 통합할 수 있다. 또한 아이오닉, 온센2와 같은 UI 프레임워크와 결합하여 더욱 풍부한 앱을 개발하는 데 널리 사용된다. 그러나 웹뷰의 성능 한계로 인해 복잡한 애니메이션이나 그래픽이 많이 필요한 고성능 앱에는 적합하지 않을 수 있으며, 새로운 네이티브 기능을 지원하려면 해당 플러그인의 개발이 필요해 지원이 다소 느릴 수 있다는 단점도 있다.
5. 장점
5. 장점
하이브리드 앱의 가장 큰 장점은 하나의 코드베이스로 iOS와 안드로이드 앱을 동시에 개발할 수 있다는 점이다. 이는 별도의 네이티브 앱 개발을 위해 스위프트와 코틀린 등 두 가지 언어와 생태계를 유지해야 하는 부담을 크게 줄여준다. 결과적으로 개발 시간과 비용을 절감할 수 있으며, 기능 업데이트나 버그 수정 시에도 두 플랫폼에 동시에 반영하는 것이 용이하다.
또한, HTML, CSS, 자바스크립트와 같은 익숙한 웹 개발 기술과 기존의 웹 개발 인력을 그대로 활용할 수 있다는 점도 주요한 이점이다. 웹 개발자라면 새로운 언어를 깊이 학습하지 않고도 비교적 빠르게 모바일 앱 개발에 진입할 수 있으며, 웹과 앱 간의 코드 재사용성을 높일 수 있다.
하이브리드 앱은 완전한 웹 앱과 달리 앱 스토어나 구글 플레이 스토어를 통한 배포가 가능하다. 이를 통해 사용자는 앱 마켓을 통해 애플리케이션을 검색하고 설치할 수 있으며, 푸시 알림이나 기기 내부 저장소 활용 등 네이티브 앱과 유사한 배포 및 사용자 경험을 제공할 수 있다.
마지막으로, 아이오닉이나 리액트 네이티브와 같은 주요 하이브리드 앱 프레임워크는 활발한 커뮤니티와 다양한 서드파티 플러그인 생태계를 갖추고 있다. 이는 카메라, GPS, 가속도계 같은 기기 하드웨어 기능에 접근하거나, 일반적인 UI 컴포넌트를 구현하는 데 필요한 도구와 솔루션을 쉽게 찾아 적용할 수 있게 해준다.
6. 단점
6. 단점
하이브리드 앱은 몇 가지 고유한 단점을 가지고 있다. 가장 큰 문제는 성능이다. 웹 콘텐츠를 렌더링하는 웹뷰는 네이티브 UI 컴포넌트를 직접 사용하는 것보다 일반적으로 느리며, 특히 복잡한 애니메이션이나 그래픽 처리가 필요한 경우 성능 저하가 두드러진다. 이는 사용자 경험에 직접적인 영향을 미쳐 반응 속도가 떨어지거나 버벅임이 발생할 수 있다.
또한, 새로운 하드웨어 기능이나 운영체제의 최신 API를 지원하는 데 시간이 걸린다. 네이티브 앱은 애플의 iOS나 구글의 안드로이드 SDK가 업데이트되면 즉시 활용할 수 있지만, 하이브리드 앱은 해당 기능을 웹뷰에서 사용할 수 있도록 하는 네이티브 브릿지 플러그인이 먼저 개발되어야 한다. 이로 인해 최신 기기 기능을 활용하는 데 제약이 따를 수 있다.
하이브리드 앱의 성능과 동작은 기본적으로 장치에 내장된 웹뷰 엔진의 성능에 크게 의존한다. 따라서 다양한 안드로이드 기기마다 다른 버전의 크롬 엔진을 사용하거나, iOS의 사파리 엔진 업데이트 주기에 따라 앱의 동작이 영향을 받을 수 있다. 이러한 종속성은 개발자가 앱의 일관된 성능을 보장하기 어렵게 만드는 요인이다.
7. 네이티브 앱 및 웹 앱과의 비교
7. 네이티브 앱 및 웹 앱과의 비교
하이브리드 앱은 네이티브 앱과 웹 앱의 중간 형태로, 각 접근 방식과 비교했을 때 명확한 차이점과 장단점을 가진다. 네이티브 앱은 iOS의 경우 Swift나 Objective-C, 안드로이드의 경우 Kotlin이나 자바와 같은 플랫폼 전용 언어로 개발되어 해당 운영체제에 최적화되어 있다. 이로 인해 가장 높은 성능과 반응성을 제공하며, 카메라나 GPS와 같은 기기의 모든 하드웨어 기능과 API를 즉시 활용할 수 있다. 그러나 iOS와 안드로이드용 앱을 별도의 코드베이스로 개발해야 하므로 시간과 비용이 두 배로 들고, 웹 기술을 주로 사용하는 개발자에게는 진입 장벽이 될 수 있다.
반면, 순수 웹 앱은 HTML, CSS, 자바스크립트로 개발되어 모바일 웹 브라우저에서 실행된다. 하나의 코드로 모든 플랫폼의 브라우저에서 동작하며 개발이 가장 빠르고, 앱 스토어 승인 과정 없이 즉시 업데이트가 가능하다. 하지만 기기의 네이티브 기능에 대한 접근성이 매우 제한적이며, 오프라인 동작이 어렵고, 앱 아이콘을 홈 화면에 추가하더라도 네이티브 앱과 같은 사용자 경험과 성능을 제공하지 못한다.
하이브리드 앱은 이 두 방식을 혼합한다. 하나의 웹 기술 코드베이스로 iOS와 안드로이드 앱을 동시에 만들 수 있어 개발 효율성이 높으며, 코르도바나 아이오닉 같은 프레임워크의 플러그인을 통해 네이티브 기능에도 접근할 수 있다. 또한 앱 스토어를 통한 배포가 가능하다. 그러나 웹 콘텐츠가 웹뷰라는 컨테이너에서 실행되기 때문에 네이티브 앱보다 그래픽 처리나 복잡한 애니메이션에서 성능이 떨어질 수 있으며, 새로운 운영체제 기능을 지원하는 데 네이티브 앱보다 시간이 더 소요될 수 있다. 결국, 개발 속도와 비용, 크로스 플랫폼 호환성을 중시한다면 하이브리드 앱이, 최고의 성능과 완전한 하드웨어 제어가 필요하다면 네이티브 앱이, 빠른 프로토타이핑과 간단한 정보 제공이 목적이라면 웹 앱이 적합한 선택이 된다.
8. 적용 사례
8. 적용 사례
하이브리드 앱은 개발 효율성과 비용 절감이라는 장점으로 인해 다양한 산업 분야와 규모의 기업에서 널리 채택되고 있다. 특히 콘텐츠 중심의 애플리케이션이나 빠른 시장 출시가 중요한 MVP(최소 기능 제품) 개발에 적합하다.
이커머스 및 소매 분야에서는 카탈로그 기반의 쇼핑 앱이 대표적인 적용 사례다. 웹 기술로 구현된 상품 목록, 장바구니, 결제 흐름을 하나의 코드베이스로 관리하면서, 푸시 알림이나 카메라를 이용한 바코드 스캔과 같은 네이티브 기능을 플러그인을 통해 추가할 수 있다. 뉴스 미디어나 콘텐츠 관리 시스템을 활용하는 매체들도 정기적으로 업데이트되는 기사와 동영상을 하이브리드 앱 형태로 제공하며, 아이오닉이나 리액트 네이티브 같은 프레임워크를 통해 iOS와 안드로이드 사용자 모두에게 동일한 경험을 전달한다.
또한 내부 업무 효율화를 위한 기업용 애플리케이션에서도 하이브리드 방식이 많이 사용된다. 판매 관리, 재고 관리, 현장 서비스 리포트 작성과 같은 업무용 앱은 복잡한 그래픽 사용자 인터페이스나 극도의 성능보다는 안정적인 데이터 표시와 폼 입력, 그리고 GPS나 카메라 접근이 중요하다. 이러한 요구사항은 코르도바나 폰갭의 플러그인 생태계로 충족시키면서도 웹 개발 팀의 역량을 그대로 활용할 수 있어 선호된다.
9. 개발 및 배포 절차
9. 개발 및 배포 절차
하이브리드 앱의 개발 및 배포는 일반적으로 네이티브 앱 개발보다 간소화된 단계를 거친다. 핵심은 하나의 공통된 코드베이스를 사용하여 iOS와 안드로이드 플랫폼용 애플리케이션을 생성하는 것이다. 개발자는 먼저 아이오닉, 리액트 네이티브, 플러터 또는 코르도바와 같은 프레임워크를 선택하고, 익숙한 HTML, CSS, 자바스크립트 또는 프레임워크 전용 언어(예: 다트)를 사용하여 애플리케이션의 로직과 사용자 인터페이스를 개발한다. 이 과정에서 카메라, GPS, 연락처 등 기기 기능이 필요하면 해당 프레임워크의 네이티브 브릿지 또는 플러그인을 활용하여 접근한다.
개발이 완료되면 배포를 위한 패키징 단계가 진행된다. 프레임워크는 개발자가 작성한 코드와 필요한 리소스를 각 플랫폼(iOS, 안드로이드)이 이해할 수 있는 형태로 변환(트랜스파일 또는 컴파일)한다. 예를 들어, 코르도바 기반 앱은 웹 자산을 웹뷰 컨테이너에 담고, 이를 네이티브 프로젝트 파일로 감싸서 최종 실행 파일을 생성한다. 생성된 애플리케이션 패키지(APK 또는 IPA)는 네이티브 앱과 마찬가지로 각 공식 앱 마켓플레이스(구글 플레이 스토어, 애플 앱 스토어)에 제출하기 전에 테스트 및 서명 과정을 거친다.
배포 후에도 지속적인 유지보수가 중요하다. 하이브리드 앱은 웹 기반 콘텐츠를 포함하기 때문에, 서버에서 호스팅되는 웹 부분의 업데이트를 통해 앱 스토어 재심사 없이도 일부 UI나 콘텐츠 변경이 가능한 경우가 있다. 그러나 네이티브 코드나 플러그인에 변경이 있거나, 새로운 OS 버전에 대응해야 할 때는 앱을 재빌드하고 앱 스토어를 통해 업데이트를 배포해야 한다. 이처럼 개발부터 배포, 유지보수까지의 절차는 웹 개발의 신속성과 네이티브 배포 채널의 장점을 결합한 형태를 보인다.
